package com.summatech.gwt.mvp.client;

import com.google.gwt.user.client.ui.IsWidget;
import com.mvp4g.client.annotation.Event;
import com.mvp4g.client.annotation.Events;
import com.mvp4g.client.annotation.Filters;
import com.mvp4g.client.annotation.Start;
import com.mvp4g.client.event.EventBus;
import com.summatech.gwt.mvp.client.handler.PresenterHandler;
import com.summatech.gwt.mvp.client.presenter.RootPresenter;
import com.summatech.gwt.mvp.client.view.RootView;

@Filters(filterClasses = MultiPresentersEventFilter.class)
@Events(startView = RootView.class)
public interface MultiPresentersEventBus extends EventBus, GroupEventBus {

	@Start
	@Event(handlers= RootPresenter.class)
	void init();
	
	@Event(handlers = PresenterHandler.class)
	void createPresenters();

	@Event(handlers = RootPresenter.class)
	void displayWidget(IsWidget widget);

}
